package com.lainiao.session;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

/**
 *  session 域对象 的 销毁---------------------- destroy
 *      1. 默认到期时间
 *          30 min（一旦有操作，重新计时）
 *          可以在 Tomcat 的 conf 目录下的 web.xml 文件中进行修改 （不建议改）
 *              <session-config>
 *                  <session-timeout> 30 </session-timeout>
 *              </session-config>
 *      2. 自己设定到期时间
 *          设定session的最大不活动时间 （单位：秒）：session.setMaxInactiveInterval(15);
 *          查看session的最大不活动时间 （单位：秒）：session.getMaxInactiveInterval()；
 *      3. 立即销毁
 *          session.invalidate();
 *      4. 关闭浏览器失效
 *          session底层依赖cookie
 *      5. 关闭服务器失效
 */
@WebServlet("/ss")
public class session03_SessionTimeout extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        // 获取session
        HttpSession session = request.getSession();

        // 设置 session 的最大不活动时间 （15秒）
        session.setMaxInactiveInterval(15);

        // 获取 session 的最大不活动时间
        System.out.println(
                "获取 session 的最大不活动时间：" + session.getMaxInactiveInterval()
        );

        // 立即销毁
        session.invalidate();

    }
}
